﻿using Loki.Utils;
using Luna.Data;
using Luna.Model;
using Luna.Services.Test.Budget;
using Luna.Services.Test.Contacts;
using NUnit.Framework;

namespace Luna.Services.Test
{
    public abstract class ServiceTest : AssertionHelper
    {
        public IDataContext DataContext { get; private set; }

        public IApplicationModel ApplicationModel { get; private set; }

        protected ContactDataCreator ContactDataManager { get; private set; }

        protected BudgetDataCreator BudgetDataManager { get; private set; }

        protected DataCreator DataManager { get; private set; }

        [SetUp]
        public virtual void SetUp()
        {
            ApplicationModel = ToolKit.Engine.GetApplicationModel<IApplicationModel>();
            DataContext = ToolKit.Engine.GetDataModel<IDataContext>();

            DataManager = new DataCreator();
            ContactDataManager = new ContactDataCreator();
            BudgetDataManager = new BudgetDataCreator();
        }

        [TearDown]
        public virtual void TearDown()
        {
        }

        protected const string AUDIT_STRING = "Unit test";
    }
}